/**
 * input       $_ 最后搜索的字符串（非标准特性）
 * lastmatch    $& 最后匹配的文本
 * lastParen    $+ 最后匹配的捕获组（非标准特性）
 * leftContext  $` input 字符串中出现在 lastMatch 前面的文本
 * rightContext $' input 字符串中出现在 lastMatch 后面的文本
 */
;(function () {
    let text = "this has been a short summer";
    let pattern = /(.)hort/g;

    if (pattern.test(text)) {
        console.log(pattern.test(text)) // false
        console.log(RegExp.input); // this has been a short summer
        console.log(RegExp.leftContext); // this has been a
        console.log(RegExp.rightContext); // summer
        console.log(RegExp.lastMatch); // short
        console.log(RegExp.lastParen); // s
    }
    console.log("============")
})()

/**
 * RegExp 还有其他几个构造函数属性，可以存储最多 9 个捕获组的匹配项。
 * 这些属性通过 RegExp.$1~RegExp.$9 来访问，分别包含第 1~9 个捕获组的匹配项。
 * 在调用 exec()或 test()时，这些属性就会被填充.
 */
let text = "this has been a short summer";
let pattern = /(..)or(.)/g;
if(pattern.test(text)){
    console.log(pattern.test(text))
    console.log(RegExp.$1)
    console.log(RegExp.$2)
}
